home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / cislib_a / midas1.act < prev    next >
Text File  |  1995-04-22  |  10KB  |  1 lines

  1. ;MIDAS MAZE.¢ MODULE¢¢;      CHECKSUM DATA¢;[61 4F 6D B9 C9 38 9B 37¢; 98 6A D4 94 37 3C E1 CC¢; 66 F4 71 86 25 4D C2 DA¢; C8 DD 8E 0C F2 7E 60 C4¢; B0 C6 A0 DB EB 75 E1 2E¢; CD BA 0D 76 60 2A 9B CE¢; AC ]¢¢;Your car's shape table.¢; This holds the 4 direction ¢; positions and each of them has 3¢; animation shapes to them¢BYTE ARRAY P0=[¢ 16 186 186 40 56 186 186 0¢ 16 56 186 40 56 186 56 0¢ 16 186 56 40 56 56 186 0¢ 0 186 186 56 40 186 186 16¢ 0 56 186 56 40 186 56 16¢ 0 186 56 56 40 56 186 16¢ 102 0 126 238 126 0 102 0¢ 36 0 126 238 126 0 36 0¢ 66 0 126 238 126 0 66 0¢ 102 0 126 119 126 0 102 0¢ 36 0 126 119 126 0 36 0¢ 66 0 126 119 126 0 66 0 ],¢¢; ד∈σϕ∙áπβ≥á≤Φβ≡σá⌠βΓ∮σ«¢; Has the same as your car but¢; different shape style¢ EP=[¢  189 189 36 60 60 165 189 36¢  60 189 36 60 60 165 60 36¢  189 60 36 60 60 36 189 36¢  36 189 165 60 60 36 189 189¢  36 60 165 60 60 36 189 60¢  36 189 36 60 60 36 60 189¢  198 0 255 218 218 255 0 130¢  68 0 255 218 218 255 0 68¢  130 0 255 218 218 255 0 130¢  99 0 255 91 91 255 0 99¢  34 0 255 91 91 255 0 34¢  65 0 255 91 91 255 0 99],¢¢; בΦβ≥βπ⌠σ≥á≤σ⌠áΣβ⌠β«¢ CHST=[¢  0 0 3 15 15 3 0 0¢  0 0 0 192 192 0 0 0¢  15 48 192 192 192 48 15 0¢  192 48 12 12 12 48 192 0¢  48 48 204 204 204 48 48 0¢  255 0 0 0 0 0 255 0¢  204 204 204 204 204 48 48 0¢  48 48 204 204 204 204 204 204¢  204 204 204 204 204 204 204 204¢  192 192 192 192 192 192 192 192 ¢  12 12 12 12 12 12 12 12¢  0 0 0 0 0 0 255 0¢  255 0 0 0 0 0 0 0¢  192 192 192 192 192 48 15 0¢  12 12 12 12 12 48 192 0¢  192 48 12 12 12 12 12 12¢  15 48 192 192 192 192 192 192¢  0 51 0 63 51 63 0 51¢  0 0 0 85 0 0 0 0¢  0 0 0 84 0 0 0 0¢  16 16 16 16 16 16 16 0¢  3 12 8 15 15 15 15 15¢  192 240 240 240 240 240 240 240¢  0 5 21 42 41 37 41 42¢  0 80 84 168 104 88 104 168¢  0 0 63 63 63 0 0 0¢  0 0 240 245 240 0 0 0¢  0 107 106 106 106 106 106 0¢  0 253 253 253 189 189 173 0¢  10 42 1 1 1 1 1 1¢  128 144 0 0 0 0 0 0¢  0 48 204 205 204 48 0 0¢  0 0 0 84 16 0 0 0¢  0 0 0 0 0 0 0 0¢  51 15 12 60 252 255 60 15¢  48 252 48 252 63 63 60 240],¢¢; ןáªáךáס∩≤Θ⌠Θ∩∈≤ for different¢; screen objects.¢; ז∩≥Θ·∩∈⌠β∮á≈β∮∮≤«¢ PRL=[¢  3 1 18 1 3 23 18 23 0 11 3 11 0¢  13 3 13 9 4 18 4 9 11 15 11 12 7 15¢  7 18 7 21 7 9 13 15 13 12 15 15 15¢  40],¢¢; שσ≥⌠Θπβ∮á≈β∮∮≤«¢ PUD=[¢  3 1 3 11 3 13 3 23 6 3 6 11 6¢  13 6 21 9 6 9 11 15 7 15 11 18 7 18¢  11 9 13 9 21 12 15 12 21 18 13 18¢  15 18 17 18 21 15 17 15 21 40],¢¢; תΦΘ⌠σáΣ∩∩≥≤«¢ DOOR=[¢  3 12 15 14 10 7 19 1 10 21 16¢  17 16 21 19 23 19 11],¢¢; דמדפוחםדפצ«¢ ENER=[¢  10 14 16 19 4 7 28 14 22 19 34 7],¢ KEYS=[7 4 19 4 31 4 16 9 22 9¢  7 17 31 17 19 14],¢ SPNA=[0 3 1 2],SCR,DLIST,T8M(12),¢ T3M(6),ST=632,PCOLR=704,HPOSP=53248,¢ HPOSM=53252,SIZEP=53256,MPL=53256,¢ AUDFC=53760,PARY,SH,SCOR(8),SC,¢ STX(5),STY(5),ODR(5),OSX(5),OSY(5),¢ CSX(5),CSY(5),CDX(5),CDY(5),SAX(5),¢ SAY(5),BRPO(5),DIR(5),DDU(5),DDD(5),¢ DDL(5),DDR(5),EH(5),EDF(4),PDF(5),¢ SPT(5),SPIN(5),SPN(5),ECT(4)¢CARD ARRAY Y40(24),PAD(5)¢CARD CHSET,DL,CLP0,PMTEMP,M0,PL0,PL1,¢PL2,PL3,SHAD,GC,GG,POWER=[0],DELAY,¢MBT¢BYTE P106,LP0,LP1,R,PLX,PLY,DRX,DRY,¢P0X,P0Y,P1X,P1Y,TALL,IC,S,S0,S1,PMTL,¢SP=[2],PMNO,DI,TS0,TS1,TS2,TS3,STIK,¢DCD,DCD0¢BYTE¢ DDM,PMM,TM,SP1,PO,LB,SP0,ST0,ST1,¢ ST2,ST3,COL=[0],PT=[0],PD=[0],SSC,¢ XTRA=[3],OSCOR=[0],ESC=[2],ELP,SES,¢ MEM,INE=[0],THO=[1]¢¢; נצá∩≥áזIJפגתIJפדá∮∩πβ⌠Θ∩∈≤«¢BYTE RTCLOK=18,ATRACT=77,RAMTOP=106,¢ SDMCTL=559,GRPRIOR=623,STRIG0=644,¢ CHBAS=756,CH=764,PFCOLR2=53272,¢ P0C=53260,GRACTL=53277,HITCLR=53278,¢ CONSOL=53279,AUDCTL=53768,¢ PMBASE=54279,WSYNC=54282,¢ VCOUNT=54283¢¢; ס≥Θ∈⌠≤á≤π∩≥σ¢PROC PRSCOR()¢ FOR SP0=0 TO 7 DO¢  SCR(10+SP0)=SCOR(SP0)+16¢ OD¢RETURN¢¢; בσπδáµ∩≥áΣΘτΘ⌠á∩÷σ≥µ∮∩≈¢PROC SCLP()¢ LB=8¢ FOR SP1=0 TO 7 DO¢  LB==-1 PO=SCOR(LB)¢  IF PO>9 THEN¢   SCOR(LB)=SCOR(LB)-10¢   SCOR(LB-1)=SCOR(LB-1)+1¢  FI¢ OD¢RETURN¢¢; קβδσ≤á⌠Φσá÷β≥ΘβΓ∮σáIJגגáβ∈ΣáβΣΣ≤¢; Θ⌠á⌠∩á∙∩⌡≥á≤π∩≥σ«¢PROC SCORE(BYTE ADD)¢ IF ADD>0 THEN¢  ADD==-1¢  FOR SP0=0 TO ADD DO¢   SCOR(7)=SCOR(7)+1¢   SCLP() ;up data score¢  OD¢ FI¢ PRSCOR() ;Print it.¢RETURN¢¢; IJΣΣ≤áקזá⌠∩á⌠Φσá⌠Φ∩⌡≤β∈Σ≤á≡∩≤Θ⌠Θ∩∈«¢PROC THOUS(BYTE TH)¢ SCOR(4)==+TH¢ SCLP()¢ PRSCOR()¢RETURN¢¢; IJΣΣ≤áזגá⌠∩áΦ⌡∈Σ≥σΣ≤á≡∩≤«¢PROC HUND(BYTE HD)¢ SCOR(5)==+HD¢ SCLP()¢ PRSCOR()¢RETURN¢¢; ס∮∩⌠áנמá⌠Φσá≤π≥σσ∈«¢PROC PL(BYTE PX,PY)¢ PLX=PX PLY=PY¢ SCR(PLX+Y40(PLY))=IC; Access screen.¢RETURN¢¢; ג≥β≈áπΦβ≥βπ⌠σ≥≤á∩∈á≤π≥σσ∈¢; Θ∈áΦ∩≥Θ·∩∈⌠β∮á∩≥á÷σ≥⌠Θπβ∮á∮Θ∈σ≤«¢PROC DR(BYTE DX,DY)¢ DRX=DX DRY=DY¢ ;Find out which is greater¢ ; the plot or the drawto x position.¢ IF PLX<>DRX THEN¢  IF PLX>DRX THEN¢   S0=DRX S1=PLX¢  ELSE¢   S0=PLX S1=DRX¢  FI¢  IF IC=70 THEN¢   SCR(S0+Y40(DRY))=67¢   SCR(S1+Y40(DRY))=68¢   S0==+1 S1==-1¢  FI¢  FOR S=S0 TO S1 DO¢   SCR(S+Y40(DRY))=IC¢  OD¢ FI¢ ;Find out the greater y position.¢ IF PLY<>DRY THEN¢  IF PLY>DRY THEN¢   S0=DRY S1=PLY¢  ELSE¢   S0=PLY S1=DRY¢  FI¢  IF IC=73 THEN¢   SCR(PLX+Y40(S0))=72¢   SCR(PLX+Y40(S1))=71¢   TS0=SCR(DRX+1+Y40(S0))¢   TS2=SCR(DRX-1+Y40(S0))¢   ;Check for intersecting line and¢   ;add corners when needed.¢   IF TS0=70 THEN¢    SCR(DRX+Y40(S0))=80¢   FI¢   IF TS2=70 THEN¢    SCR(DRX+Y40(S0))=80¢   FI¢   TS1=SCR(DRX+1+Y40(S1))¢   TS2=SCR(DRX-1+Y40(S1))¢   IF TS1= 70 THEN¢    SCR(DRX+Y40(S1))=78¢   FI¢   IF TS2=70 THEN¢    SCR(DRX+Y40(S1))=79¢   FI¢   S0==+1 S1==-1¢  FI¢  FOR S=S0 TO S1 DO¢   SCR(DRX+Y40(S))=IC ;Plot character¢  OD                 ;on screen.¢ FI¢ ;Save drawto's values in plx and¢ ; ply variable for next drawto.¢ PLX=DRX PLY=DRY¢RETURN¢¢;צσ⌠¡⌡≡á≡∮β∙σ≥áβΣΣ≥σ≤≤áβ∈Σá≤Φβ≡σ¢;βΣΣ≥σ≤≤áβ∈ΣáΣΘ≥σπ⌠Θ∩∈áµ∩≥áסל∞ונá≡≥∩π.¢PROC PMST(CARD PMADR,SHADR,D)¢ ;Make array pray point to the¢ ;players ram area.¢ PARY=PMADR TM=T3M(D)¢ SHAD=SHADR DI=T8M(TM)¢ ;Check to see if player is player or¢ ;missle shaps.¢ IF PMADR>M0 THEN¢  PMNO=((PMADR-PMTEMP-1024)) RSH 8¢ ELSE¢  PMNO=4¢ FI¢RETURN¢¢;ס⌡⌠≤á⌠Φσá≡∮β∙σ≥á∩≥áϕΘ≤≤Θ∮σá≤Φβ≡σáΘ∈¢;⌠Φσáס»לáϕσϕ∩≥∙áβ≥σβáτΘ÷σáΘ⌠º≤á∙á≡∩≤«¢;β∈Σá≡∩δσ≤áΘ⌠º≤áΦ∩≥Θ·∩∈⌠β∮á≡∩≤Θ⌠Θ∩∈¢;≥στ.¢PROC PM_GO(BYTE PMX,PMY,FR)¢ IF PMNO<4 THEN¢  HPOSP(PMNO)=PMX¢ ELSEIF PMNO=4 THEN¢  HPOSP(PMNO)=PMX+6¢  HPOSP(PMNO+1)=PMX+4¢  HPOSP(PMNO+2)=PMX+2¢  HPOSP(PMNO+3)=PMX¢ FI¢ SH=SHAD+((T8M(FR))+DI)¢ FOR TALL=0 TO SP DO¢  PARY((PMY-SP)+TALL)=0¢  PARY((PMY+7)+TALL)=0¢ OD¢ FOR TALL=0 TO 7 DO¢  PARY(PMY+TALL)=SH(TALL)¢ OD¢RETURN¢¢PROC VARSET(BYTE VN)¢ OSX(VN)=STX(VN)¢ OSY(VN)=STY(VN)¢ ODR(VN)=DIR(VN)¢ CSX(VN)=STX(VN)-48¢ CSY(VN)=STY(VN)-32¢ SAX(VN)=CSX(VN)&3¢ SAY(VN)=CSY(VN)&7¢ CDX(VN)=CSX(VN)/4¢ CDY(VN)=CSY(VN)/8¢RETURN¢¢PROC LOOK()¢ BYTE K0,K1,KP¢ IF STX(4)>52 AND STX(4)<192 THEN¢  DCD=SCR(CDX(4)+Y40(CDY(4)))¢  DCD0=SCR(CDX(4)+1+Y40(CDY(4)))¢  IF DCD=193 THEN¢   SCR(CDX(4)+Y40(CDY(4)))=0¢   SCR(CDX(4)+1+Y40(CDY(4)))=0¢   GG==+1¢   ST0=10¢   SCORE(5)¢ FI¢ IF DCD=86+INE THEN¢  FOR LP0=0 TO 12 STEP 2 DO¢   K0=ENER(LP0) K1=ENER(LP0+1)¢   IF K0=CDX(4) AND K1=CDY(4) THEN      ¢    IC=98¢    PL(CDX(4),CDY(4))¢    PL(CDX(4)+1,CDY(4))¢   FI¢  OD¢  KP=LP0 HUND((INE RSH 1)+1)¢  POWER=100¢  ST3=60 PT=60 PD=5¢  FOR LP0=0 TO 3 DO¢   ECT(LP0)=80¢  OD¢ FI¢ IF DCD=96 THEN¢  FOR LP0=0 TO 16 STEP 2 DO¢   K0=KEYS(LP0)¢   K1=KEYS(LP0+1)¢   IF K0=CDX(4) AND K1=CDY(4) THEN¢    IC=98¢    PL(CDX(4),CDY(4))¢    PL(CDX(4)+1,CDY(4))¢    KP=LP0¢    HUND(1)¢     ST2=20¢    FI ¢   OD¢   IF KP<4 THEN¢    IC=98 PL(DOOR(KP),DOOR(KP+1))¢    PL(39-DOOR(KP),DOOR(KP+1))¢   ELSE¢    IC=98 PL(DOOR(KP),DOOR(KP+1))¢    PL(DOOR(KP)+1,DOOR(KP+1))¢    PL(38-DOOR(KP),DOOR(KP+1))¢    PL(38-DOOR(KP)+1,DOOR(KP+1))¢   FI¢  FI¢ FI¢ IF DCD=99 THEN IC=98¢  PL(CDX(4),CDY(4))¢  THOUS(THO)¢  PL(CDX(4)+1,CDY(4)) ST2=30¢ FI¢RETURN¢¢PROC CHCH(BYTE CN)¢ BYTE BPAS,BPAS2¢ IF SAY(CN)=0 AND SAX(CN)=0 THEN¢  DDU(CN)=0 DDD(CN)=0¢  DDL(CN)=0 DDR(CN)=0¢  DDM=0 EH(CN)=0¢  DCD=SCR(CDX(CN)+Y40(CDY(CN)-1))¢  DCD0=SCR(CDX(CN)+1+Y40(CDY(CN)-1))¢  IF DCD>66 AND DCD<86¢  OR DCD0>66 AND DCD0<86 THEN¢   DDU(CN)=1¢  FI¢  DCD=SCR(CDX(CN)+Y40(CDY(CN)+1))¢  DCD0=SCR(CDX(CN)+1+Y40(CDY(CN)+1))¢  IF DCD>66 AND DCD<86 ¢  OR DCD0>66 AND DCD0<86 THEN¢   DDD(CN)=1¢  FI¢  DCD=SCR(CDX(CN)-1+Y40(CDY(CN)))¢  IF DCD>66 AND DCD<86 THEN¢   DDL(CN)=1¢  FI¢  DCD=SCR(CDX(CN)+2+Y40(CDY(CN)))¢  IF DCD>66 AND DCD<86 THEN¢   DDR(CN)=1 FI¢  IF CN=4 THEN¢   DCD=SCR(CDX(4)+Y40(CDY(4)))¢   DCD0=SCR(CDX(4)+1+Y40(CDY(4)))¢   IF DCD>0 AND DCD0>0 THEN¢    DDM=1¢   FI¢  FI¢ FI¢ IF STX(CN)<30 THEN¢  STX(CN)=220¢ FI¢ IF STX(CN